1. Field of the Invention
The present invention relates to a power management method and related power management system, and more particularly, to a power management method for switching a power mode of a computer system and related power management system.
2. Description of the Prior Art
Universal serial bus (USB) was developed to define an external expansion bus which facilitates the connection of additional peripherals to a computer system. The USB technique is implemented by personal computer (PC) host controller hardware and software and by peripheral friendly master-slave protocols and achieves robust connections and cable assemblies, which USB systems are extendable through multi-port USB dock station.
In USB systems, the role of the system software is to provide a uniformed view of the input/output architecture for all applications software by hiding hardware implementation details. In particular, it manages the dynamic attach and detach of peripherals and communicates with the peripheral to discover its identity. During run time, the host initiates transactions to specific peripherals, and each peripheral accepts its transactions and response accordingly.
The USB dock station is incorporated to the system to provide additional connectivity for USB peripherals, and to provide managed power to attached devices. The peripherals are slaves that must react to request transactions sent from the host. Such request transactions include requests for detailed information about the device and its configuration.
While these functions and protocols were already implement in the USB specifications (e.g. USB 1.1 or USB 2.0 specifications), this technique was still improved in order to provide a higher performance interface. Please refer to FIG. 1, which illustrates a software and hardware of a USB system 10. The system components can be organized hierarchically by defining several layers as shown in FIG. 1. The USB system 10 comprises a client software 100, a USB driver 120, a host controller driver 140, a host controller 160 and a USB device 180. The client software 100 executes on the PC and corresponds to the particular USB device 180. The client software 100 is part of an operating system (OS) of the PC, or provided with the USB device 180. The USB driver 120 is a system software bus driver that abstracts the details of the particular host controller driver 140 for the OS. The host controller driver 140 provides a software layer between the host controller 160 and the USB driver 120 as a driver-hardware interface.
While the layers discussed so far are software implemented, the uppermost hardware component layer comprises the host controller 160 and the USB device 180. The host controller 160 is compliant to a specific USB host controller interface specification. The host controller 160 is connected to the USB device 180 that performs the end user function. In some examples, the host controller 160 is an enhanced host controller (EHC) for the high speed USB 2.0 functionality. In some examples, the host controller 160 is universal host controller (UHC) or open host controller (OHC) for providing USB 1.1 functionality.
Referring to FIG. 2, hardware components of a computer system 20 are depicted. The computer system 20 may be a portable computer system (e.g. laptop). The computer system 20 includes a central processing unit (CPU) 200, a north bridge 210, a main memory 220, a graphic controller 230, a peripheral component interconnect (PCI) bus 240, a south bridge 250, a USB bus 260, a USB port 270 and a USB device 280. The north bridge 210 usually is a single chip in a core logic chipset that connects the CPU 200 to the main memory 220 and the graphic controller 230 and the PCI bus 240. The PCI bus 240 is commonly used in personal computers for providing a data path between the CPU 200 and peripheral devices like video cards, sound cards, network interface cards and modems. It is to be noted that other computer system may have no north bridge in it, or that have a north bridge without the graphic controller or PCI options.
The south bridge 250 is usually the chip in a system core-logic chipset that controls the USB bus 260 that provides plug-and-play support, manages the keyboard mouse controller, provides power management features, and controls other peripherals. In some examples, the south bridge 250 comprises the host controller 251 to communicate through the USB port 270 with the USB device 280. The USB port 270 and the USB device 280 are internal or external to the computer system 10. In some examples, the USB device 280 is referred as to a USB dock station, which provides multiple USB ports for additional connectivity for USB peripherals.
Generally, the USB device attached to the computer system may prevent the CPU from entering a low power mode (e.g. suspend to ram (STR) mode). The prior art may work well for getting the computer system from the low power mode back into the normal mode through sideband signals. The related US patent application no. US 2005/0160196A1 describes a computer system that includes a computer controller to send and/or receive sideband signals to/from a USB device. In this patent, the USB device includes a USB controller to send/receive sideband signals to/from the computer controller. The computer controller and USB controller allows communications between the computer system and the USB devices when either of the computer system or USB device is the low power mode. The sideband signals sent between the computer system and the USB devices trigger the other of the computer system or the USB device to enter the normal mode.
As known, the prior art uses the sideband signals as the medium to wake up the computer system. However, more hardware implementation must be done for detection and generation of the sideband signals. Consequently, this may lead to more complexities and prohibitive cost.